using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.Shell.Interop;

namespace VSSDKAssist.Platform.Enums
{
	/// <summary>
	/// Visual Studio window guids enum
	/// </summary>
	public static class WindowGuid
	{
		static WindowGuid()
		{
			values = new SortedDictionary<Guid, string>();
			values.Add(new Guid(ToolWindowGuids.BrowserDoc), "Browser document");
			values.Add(new Guid(ToolWindowGuids.ClassView), "Class view");
			values.Add(new Guid(ToolWindowGuids.CommandWindow), "Command window");
			values.Add(new Guid(ToolWindowGuids.ContextWindow), "Context window");
			values.Add(new Guid(ToolWindowGuids.DocOutline), "Document outline");
			values.Add(new Guid(ToolWindowGuids.FindAdvanced), "Find advanced");
			values.Add(new Guid(ToolWindowGuids.FindReplace), "Find replace");
			values.Add(new Guid(ToolWindowGuids.FindResults1), "Find results 1");
			values.Add(new Guid(ToolWindowGuids.FindResults2), "Find results 2");
			values.Add(new Guid(ToolWindowGuids.MacroExplorer), "Macro explorer");
			values.Add(new Guid(ToolWindowGuids.ObjectBrowser), "Object browser");
			values.Add(new Guid(ToolWindowGuids.ObjectSearchResultsWindow), "Object search results window");
			values.Add(new Guid(ToolWindowGuids.ObjectSearchWindow), "Object search window");
			values.Add(new Guid(ToolWindowGuids.Outputwindow), "Output window");
			values.Add(new Guid(ToolWindowGuids.PropertyBrowser), "Property window");
			values.Add(new Guid(ToolWindowGuids.ResourceView), "Resource view");
			values.Add(new Guid(ToolWindowGuids.ServerExplorer), "Server explorer");
			values.Add(new Guid(ToolWindowGuids.SolutionExplorer), "Solution explorer");
			values.Add(new Guid(ToolWindowGuids.TaskList), "TaskList");
			values.Add(new Guid(ToolWindowGuids.Toolbox), "Toolbox");

			values.Add(new Guid(ToolWindowGuids80.Autos), "Autos");
			values.Add(new Guid(ToolWindowGuids80.BookmarkWindow), "Bookmark window");
			values.Add(new Guid(ToolWindowGuids80.Breakpoints), "Breakpoints");
			values.Add(new Guid(ToolWindowGuids80.CallBrowserSecondaryWindow), "Call browser secondary window");
			values.Add(new Guid(ToolWindowGuids80.CallBrowserWindow), "Call browser window");
			values.Add(new Guid(ToolWindowGuids80.CallStack), "CallStack");
			values.Add(new Guid(ToolWindowGuids80.ClassDetails), "Class details");
			values.Add(new Guid(ToolWindowGuids80.DataSourceWindow), "Data source window");
			values.Add(new Guid(ToolWindowGuids80.DefinitionWindow), "Definition window");
			values.Add(new Guid(ToolWindowGuids80.Disassembly), "Disassembly");
			values.Add(new Guid(ToolWindowGuids80.ErrorList), "ErrorList");
			values.Add(new Guid(ToolWindowGuids80.ImmediateWindow), "Immediate window");
			values.Add(new Guid(ToolWindowGuids80.Locals), "Locals");
			values.Add(new Guid(ToolWindowGuids80.Memory), "Memory");
			values.Add(new Guid(ToolWindowGuids80.Modules), "Modules");
			values.Add(new Guid(ToolWindowGuids80.Processes), "Processes");
			values.Add(new Guid(ToolWindowGuids80.RunningDocuments), "Running documents");
			values.Add(new Guid(ToolWindowGuids80.Watch), "Watch");
		}

		#region Properties
		private static SortedDictionary<Guid, string> values;

		/// <summary>
		/// Gets the values.
		/// </summary>
		/// <value>The values.</value>
		public static SortedDictionary<Guid, string> Values
		{
			get { return values; }
		}
		#endregion
	}
}